home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / programm.ing / falcon / nt_dsp1.lzh / NT_DSP1.MSA / FNTNS / SQRT1.ASM < prev    next >
Encoding:
Assembly Source File  |  1989-01-24  |  1020 b   |  30 lines

  1. ;
  2. ; This program originally available on the Motorola DSP bulletin board.
  3. ; It is provided under a DISCLAMER OF WARRANTY available from
  4. ; Motorola DSP Operation, 6501 Wm. Cannon Drive W., Austin, Tx., 78735.
  5. ; Square Root by Polynomial Approximation, 7-bit Accuracy.
  6. ; Last Update 26 Jan 87   Version 1.0
  7. ;
  8. sqrt1   macro
  9. sqrt1   ident   1,0
  10. ;
  11. ;       Does a square root by polynomial aproximation, 7 bit accuracy.
  12. ;       sqrt(x)=-.2831102*x*x+2*.5031642*x+.272661
  13. ;                  a2             a1          a0
  14. ;       valid for:  .25<= x < 1.0
  15. ;
  16. ;       input value in x0, output in regester A.
  17. ;
  18. ;       r1 initially points to the coefficients in y memory in
  19. ;       this order: a1, a2, a0.
  20. ;
  21. ;
  22.         mpyr    x0,x0,a  y:(r1)+,y0 ;x**2, get a1
  23.         mpy     x0,y0,a  a,x1           ;x*a1, save x**2
  24.         mac     x0,y0,a  y:(r1)+,y0     ;2*x*a1, get a2
  25.         macr    x1,y0,a  y:(r1)+,y0     ;a2* x**2, get a0
  26.         add     y0,a                    ;add in a0
  27.         endm
  28.